package com.hans.scala.scope

import com.hans.scala.scope.package1.A


/**
 * User: ZhangJuntao
 * Date: 2014/3/24
 * Time: 9:51
 */
package object package2 {

  def main(args: Array[String]) {
    val e = new A
    e.funB()
    e.funA()
  }

  //  build error
  // 间接引用私有类
  //  class E extends A with D {
  //    def funE() {
  //      println("this is e.")
  //    }
  //  }

  //build error
  // B 在package1内是私有的
  //  class F extends B{
  //    def main(args: Array[String]) {
  //      funB()
  //    }
  //  }

  //run error object中不能包含object
  //  object E {
  //    def main(args: Array[String]) {
  //      val e = new A
  //      e.funB()
  //      e.funA()
  //    }
  //  }

  private[package2] trait D {
    def funD() {
      println("this is d.")
    }
  }
}
